pandas中对列进行排序(单列/多列)/(升序/降序)/(多列升序,降序控制)

您所在的位置:网站首页 排序 升序 pandas中对列进行排序(单列/多列)/(升序/降序)/(多列升序,降序控制)

pandas中对列进行排序(单列/多列)/(升序/降序)/(多列升序,降序控制)

2023-08-25 21:37| 来源: 网络整理| 查看: 265

前言 我想把数据分析刻进DNA里

如下面的数据,对price,要进行最简单的升序操作:

在这里插入图片描述

这个好整:

import pandas as pd shop = pd.read_csv("data/shop.csv", index_col='id') shop.sort_values(by='price', inplace=True)

结果:

在这里插入图片描述

如果你想整活(被迫)要把数据进行降序排列:

按照降序,传递进ascending,并将其值改为False即可:

import pandas as pd shop = pd.read_csv("data/shop.csv", index_col='id') # 默认是升序排序(ascending=True),ascending=Falas:降序排序 # 默认ascending为True shop.sort_values(by='price', inplace=True, ascending=True)

那么你又想按照price和worthy一起进行排序的话:

你可以先试试:

import pandas as pd shop = pd.read_csv("data/shop.csv", index_col='id') shop.sort_values(by='worthy', inplace=True, ascending=False) shop.sort_values(by='price', inplace=True, ascending=True) print(shop)

结果:

在这里插入图片描述 在这里插入图片描述

然后你会发现这样是错的

其实应该是在一行代码中对其进行操作:

# 对两列同时按照升序排列 shop.sort_values(by=['worthy', 'price'], inplace=True, ascending=True) print(shop)

结果:

在这里插入图片描述

注意,然后你又想整活了:

你想把price和worthy一个按照ascending按照True,一个按照False进行排列:

其实像上面的by=['worthy', 'price']一样,传入一个list就行了

直接上代码:

# 如果要使一列ascending为True,一列为False: shop.sort_values(by=['worthy', 'price'], inplace=True, ascending=[True, False])

结果:

在这里插入图片描述

没错,你整活成功了

文件:F:\Project\python\src\WangYiYun\DataAnalysis\17_.py

完整代码笔记:

# @DATE : 2021-1-2 # @TIME : 15:15 # @USER : kirin # 排序 import pandas as pd shop = pd.read_csv("data/shop.csv", index_col='id') # 默认是有小到大排序,ascending=Falas:由大到小排序 # 默认ascending为True # shop.sort_values(by='worthy', inplace=True, ascending=True) # shop.sort_values(by='price', inplace=True, ascending=True) # 上面的这种排序其实是对shop表排了两次序 # 应该在一列代码中对A列和B列进行排序: # shop.sort_values(by=['worthy', 'price'], inplace=True, ascending=True) # 如果要使一列ascending为True,一列为False: shop.sort_values(by=['worthy', 'price'], inplace=True, ascending=[True, False]) print(shop)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3